home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / xferrev2.arc / REVERSE.C < prev    next >
C/C++ Source or Header  |  1989-02-07  |  889b  |  59 lines

  1. #include <fcntl.h>
  2. #include <stat.h>
  3. #include <stdio.h>
  4.  
  5. main (int argc, char *argv[])
  6. {
  7.     int c;
  8.     fpos_t m [10000];
  9.     char buf [260];
  10.     FILE *t, *z, *fopen();
  11.  
  12.     if (argc != 2)
  13.     {
  14.         puts ("Usage - REVERSE XFERn.TXT");
  15.         return;
  16.     }
  17.  
  18.     z = fopen (argv [1], "rb");
  19.  
  20.     if (z == NULL)
  21.     {
  22.         puts ("Error - file specified not found.");
  23.         return;
  24.     }
  25.  
  26.     strupr (argv [1]);
  27.  
  28.     printf ("Reading %s", argv [1]);
  29.  
  30.     for (c = 0; !feof (z); )
  31.     {
  32.         fgetpos (z, &m [c++]);
  33.         fgets (buf, 256, z);
  34.     }
  35.  
  36.     t = fopen ("TMP", "wb");
  37.  
  38.     printf ("\rWriting %s", argv [1]);
  39.  
  40.     if (buf [strlen (buf) - 1] != 10) fprintf (t, "%s\r\n", buf);
  41.  
  42.     c--;
  43.  
  44.     while (--c >= 0)
  45.     {
  46.         fsetpos (z, &m [c]);
  47.         fgets (buf, 256, z);
  48.         fprintf (t, "%s", buf);
  49.     }
  50.  
  51.     fclose (t);
  52.     fclose (z);
  53.  
  54.     unlink (argv [1]);
  55.     rename ("TMP", argv [1]);
  56.  
  57.     printf ("\r%s has been reversed.", argv [1]);
  58. }
  59.